home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 January / macformat-020.iso / Shareware City / Applications / Alpha.5.96 folder / Tcl / SystemCode / latexKeys.tcl < prev    next >
Encoding:
Text File  |  1994-09-05  |  10.1 KB  |  338 lines  |  [TEXT/ALFA]

  1. #############################################################################
  2. #############################################################################
  3. #
  4. # Special LaTeX Key Bindings (called from latex.tcl)
  5. #
  6. # abbreviations:  <o> = option, <z> = control, <s> = shift, <c> = command
  7. #
  8. #############################################################################
  9. #
  10. # Author:  Tom Scavo (trscavo@syr.edu)
  11. #
  12. #############################################################################
  13. #############################################################################
  14.  
  15. # Initial binding of LaTeX command keys.
  16. proc bindLaTeXKeys {} {
  17.     global TeXmodeVars
  18.     if {$TeXmodeVars(optionIsMeta)} then {
  19.         toggleTeXKeys "bind" "z"
  20.     } else {
  21.         toggleTeXKeys "bind" ""
  22.     }
  23.     # Navigation:
  24.     bind Kpad1 prevSubsection "TeX"
  25.     bind Kpad3 nextSubsection "TeX"
  26.     bind Kpad1 <s> prevSection "TeX"
  27.     bind Kpad3 <s> nextSection "TeX"
  28.     # tab:
  29.     bind    '\t'    nextTabStop    "TeX"
  30.     bind    '\t'    <s>    prevTabStop    "TeX"
  31.     bind    '\t'    <z>    {nthTabStop 0}    "TeX"
  32.     bind    '\t'    <c>    clearTabStops    "TeX"
  33. }
  34.  
  35. # The proc 'shadowUseDollarSigns' is executed automatically 
  36. # whenever the flag 'useDollarSigns' is altered.
  37. trace variable TeXmodeVars(useDollarSigns) w shadowUseDollarSigns
  38. proc shadowUseDollarSigns {name1 name2 op} {
  39.     global TeXmodeVars
  40.     if {$TeXmodeVars(optionIsMeta)} then {
  41.         if {$TeXmodeVars(useDollarSigns)} then {
  42.             unbind '4' <coz>    latexMath    "TeX"
  43.             unbind '4' <scoz>    latexDisplaymath    "TeX"
  44.             bind '4' <coz>    texMath    "TeX"
  45.             bind '4' <scoz>    texDisplaymath    "TeX"
  46.         } else {
  47.             unbind '4' <coz>    texMath    "TeX"
  48.             unbind '4' <scoz>    texDisplaymath    "TeX"
  49.             bind '4' <coz>    latexMath    "TeX"
  50.             bind '4' <scoz>    latexDisplaymath    "TeX"
  51.         }
  52.     } else {
  53.         if {$TeXmodeVars(useDollarSigns)} then {
  54.             unbind '4' <co>    latexMath    "TeX"
  55.             unbind '4' <sco>    latexDisplaymath    "TeX"
  56.             bind '4' <co>    texMath    "TeX"
  57.             bind '4' <sco>    texDisplaymath    "TeX"
  58.         } else {
  59.             unbind '4' <co>    texMath    "TeX"
  60.             unbind '4' <sco>    texDisplaymath    "TeX"
  61.             bind '4' <co>    latexMath    "TeX"
  62.             bind '4' <sco>    latexDisplaymath    "TeX"
  63.         }
  64.     }
  65. }
  66.  
  67. # The proc 'shadowOptionIsMeta' is executed automatically 
  68. # whenever the flag 'optionIsMeta' is altered.
  69. trace variable TeXmodeVars(optionIsMeta) w shadowOptionIsMeta
  70. proc shadowOptionIsMeta {name1 name2 op} {
  71.     global TeXmodeVars
  72.     if {$TeXmodeVars(optionIsMeta)} then {
  73.         toggleTeXKeys "unbind" ""
  74.         toggleTeXKeys "bind" "z"
  75.     } else {
  76.         toggleTeXKeys "unbind" "z"
  77.         toggleTeXKeys "bind" ""
  78.     }
  79. }
  80.  
  81. # Bind or unbind the TeX keys, depending on the value of func.  
  82. # The value of mod is a valid modifier key, either "z" or "" 
  83. # in this case.  Note:  Any bindings containing a "z" designator 
  84. # are listed first and therefore NOT available when 'optionIsMeta' 
  85. # is set to true.
  86. proc toggleTeXKeys {func mod} {
  87.     global TeXmodeVars
  88.     
  89.     eval $func    'a'    <oz$mod>    forall    "TeX"
  90.     eval $func    'a'    <o$mod>    alpha    "TeX"
  91.     eval $func    'a'    <os$mod>    angle    "TeX"
  92.     eval $func    'a'    <co$mod>    acute    "TeX"
  93.     
  94.     eval $func    'b'    <oz$mod>    Box    "TeX"
  95.     eval $func    'b'    <o$mod>    beta    "TeX"
  96.     eval $func    'b'    <co$mod>    bar    "TeX"
  97.     eval $func    'b'    <cs$mod>    textbf    "TeX"
  98.     eval $func    'b'    <cso$mod>    mathbf    "TeX"
  99.     
  100.     eval $func    'c'    <o$mod>    chi    "TeX"
  101.     eval $func    'c'    <co$mod>    check    "TeX"
  102.     eval $func    'c'    <cs$mod>    cite    "TeX"
  103.     eval $func    'c'    <cso$mod>    mathcal    "TeX"
  104.     
  105.     eval $func    'd'    <oz$mod>    Diamond    "TeX"
  106.     eval $func    'd'    <o$mod>    delta    "TeX"
  107.     eval $func    'd'    <os$mod>    Delta    "TeX"
  108.     eval $func    'd'    <co$mod>    dot    "TeX"
  109.     eval $func    'd'    <cso$mod>    ddot    "TeX"
  110.     
  111.     eval $func    'e'    <oz$mod>    varepsilon    "TeX"
  112.     eval $func    'e'    <o$mod>    epsilon    "TeX"
  113.     eval $func    'e'    <os$mod>    exists    "TeX"
  114.     eval $func    'e'    <cs$mod>    emph    "TeX"
  115.     
  116.     eval $func    'f'    <oz$mod>    varphi    "TeX"
  117.     eval $func    'f'    <o$mod>    phi    "TeX"
  118.     eval $func    'f'    <os$mod>    Phi    "TeX"
  119.     eval $func    'f'    <co$mod>    fraction    "TeX"
  120.     eval $func    'f'    <cs$mod>    footnote    "TeX"
  121.     
  122.     eval $func    'g'    <oz$mod>    copyright    "TeX"
  123.     eval $func    'g'    <o$mod>    gamma    "TeX"
  124.     eval $func    'g'    <os$mod>    Gamma    "TeX"
  125.     eval $func    'g'    <co$mod>    grave    "TeX"
  126.     
  127.     eval $func    'h'    <o$mod>    eta    "TeX"
  128.     eval $func    'h'    <co$mod>    hat    "TeX"
  129.     eval $func    'h'    <cs$mod>    textsc    "TeX"
  130.     eval $func    'h'    <cso$mod>    widehat    "TeX"
  131.     
  132.     eval $func    'i'    <oz$mod>    imath    "TeX"
  133.     eval $func    'i'    <o$mod>    iota    "TeX"
  134.     eval $func    'i'    <co$mod>    int    "TeX"
  135.     eval $func    'i'    <cs$mod>    textit    "TeX"
  136.     eval $func    'i'    <cso$mod>    mathit    "TeX"
  137.     
  138.     eval $func    'j'    <oz$mod>    jmath    "TeX"
  139.     eval $func    'j'    <o$mod>    partial    "TeX"
  140.     
  141.     eval $func    'k'    <o$mod>    kappa    "TeX"
  142.     
  143.     eval $func    'l'    <oz$mod>    ell    "TeX"
  144.     eval $func    'l'    <o$mod>    lambda    "TeX"
  145.     eval $func    'l'    <os$mod>    Lambda    "TeX"
  146.     eval $func    'l'    <cs$mod>    label    "TeX"
  147.     
  148.     eval $func    'm'    <oz$mod>    mapsto    "TeX"
  149.     eval $func    'm'    <o$mod>    mu    "TeX"
  150.     eval $func    'm'    <co$mod>    mbox    "TeX"
  151.     eval $func    'm'    <cs$mod>    mbox    "TeX"
  152.     
  153.     eval $func    'n'    <oz$mod>    cap    "TeX"
  154.     eval $func    'n'    <o$mod>    nu    "TeX"
  155.     eval $func    'n'    <os$mod>    aleph    "TeX"
  156.     eval $func    'n'    <co$mod>    nthRoot    "TeX"
  157.     eval $func    'n'    <cs$mod>    marginalNote    "TeX"
  158.     
  159.     eval $func    'o'    <oz$mod>    bigcirc    "TeX"
  160.     eval $func    'o'    <o$mod>    omicron    "TeX"
  161.     eval $func    'o'    <os$mod>    circ    "TeX"
  162.     eval $func    'o'    <co$mod>    overline    "TeX"
  163.     eval $func    'o'    <cso$mod>    overbrace    "TeX"
  164.     
  165.     eval $func    'p'    <oz$mod>    varpi    "TeX"
  166.     eval $func    'p'    <o$mod>    pi    "TeX"
  167.     eval $func    'p'    <os$mod>    Pi    "TeX"
  168.     eval $func    'p'    <co$mod>    prod    "TeX"
  169.     eval $func    'p'    <cs$mod>    pageref    "TeX"
  170.     
  171.     eval $func    'q'    <oz$mod>    vartheta    "TeX"
  172.     eval $func    'q'    <o$mod>    theta    "TeX"
  173.     eval $func    'q'    <os$mod>    Theta    "TeX"
  174.     
  175.     eval $func    'r'    <oz$mod>    varrho    "TeX"
  176.     eval $func    'r'    <o$mod>    rho    "TeX"
  177.     eval $func    'r'    <co$mod>    squareRoot    "TeX"
  178.     eval $func    'r'    <cs$mod>    textrm    "TeX"
  179.     eval $func    'r'    <cso$mod>    mathrm    "TeX"
  180.     
  181.     eval $func    's'    <oz$mod>    varsigma    "TeX"
  182.     eval $func    's'    <o$mod>    sigma    "TeX"
  183.     eval $func    's'    <os$mod>    Sigma    "TeX"
  184.     eval $func    's'    <co$mod>    sum    "TeX"
  185.     eval $func    's'    <cs$mod>    textsl    "TeX"
  186.     
  187.     eval $func    't'    <oz$mod>    triangle    "TeX"
  188.     eval $func    't'    <o$mod>    tau    "TeX"
  189.     eval $func    't'    <os$mod>    dag    "TeX"
  190.     eval $func    't'    <co$mod>    tilde    "TeX"
  191.     eval $func    't'    <cs$mod>    texttt    "TeX"
  192.     eval $func    't'    <cso$mod>    widetilde    "TeX"
  193.     
  194.     eval $func    'u'    <oz$mod>    cup    "TeX"
  195.     eval $func    'u'    <o$mod>    upsilon    "TeX"
  196.     eval $func    'u'    <os$mod>    Upsilon    "TeX"
  197.     eval $func    'u'    <co$mod>    underline    "TeX"
  198.     eval $func    'u'    <cso$mod>    underbrace    "TeX"
  199.     
  200.     eval $func    'v'    <oz$mod>    vee    "TeX"
  201.     eval $func    'v'    <o$mod>    nabla    "TeX"
  202.     eval $func    'v'    <co$mod>    vec    "TeX"
  203.     
  204.     eval $func    'w'    <oz$mod>    wedge    "TeX"
  205.     eval $func    'w'    <o$mod>    omega    "TeX"
  206.     eval $func    'w'    <os$mod>    Omega    "TeX"
  207.     eval $func    'w'    <cs$mod>    textsf    "TeX"
  208.     eval $func    'w'    <cso$mod>    mathsf    "TeX"
  209.     
  210.     eval $func    'x'    <oz$mod>    times    "TeX"
  211.     eval $func    'x'    <o$mod>    xi    "TeX"
  212.     eval $func    'x'    <os$mod>    Xi    "TeX"
  213.     eval $func    'x'    <cs$mod>    ref    "TeX"
  214.     
  215.     eval $func    'y'    <o$mod>    psi    "TeX"
  216.     eval $func    'y'    <os$mod>    Psi    "TeX"
  217.     
  218.     eval $func    'z'    <o$mod>    zeta    "TeX"
  219.     
  220.     eval $func    {'\ '}    <oz$mod>    medium    "TeX"
  221.     eval $func    {'\ '}    <o$mod>    negThin    "TeX"
  222.     eval $func    {'\ '}    <os$mod>    thin    "TeX"
  223.     eval $func    {'\ '}    <co$mod>    thick    "TeX"
  224.     eval $func    {'\ '}    <cs$mod>    quad    "TeX"
  225.     eval $func    {'\ '}    <cso$mod>    qquad    "TeX"
  226.     
  227.     eval $func    ','    <oz$mod>    subseteq    "TeX"
  228.     eval $func    ','    <o$mod>    leq    "TeX"
  229.     eval $func    ','    <os$mod>    subset    "TeX"
  230.     eval $func    ','    <co$mod>    subscript    "TeX"
  231.     
  232.     eval $func    '.'    <oz$mod>    supseteq    "TeX"
  233.     eval $func    '.'    <o$mod>    geq    "TeX"
  234.     eval $func    '.'    <os$mod>    supset    "TeX"
  235.     eval $func    '.'    <co$mod>    superscript    "TeX"
  236.     
  237.     eval $func    '/'    <o$mod>    div    "TeX"
  238.     eval $func    '/'    <co$mod>    fraction    "TeX"
  239.     
  240.     eval $func    {'\;'}    <oz$mod>    vdots    "TeX"
  241.     eval $func    {'\;'}    <o$mod>    ldots    "TeX"
  242.     eval $func    {'\;'}    <os$mod>    cdots    "TeX"
  243.     eval $func    {'\;'}    <co$mod>    ddots    "TeX"
  244.     
  245.     eval $func    {'\''}    <co$mod>    acute    "TeX"
  246.     eval $func    {'\''}    <cs$mod>    quotes    "TeX"
  247.     eval $func    {'\''}    <cso$mod>    dblQuotes    "TeX"
  248.     
  249.     eval $func    {'\['}    <o$mod>    brackets    "TeX"
  250.     eval $func    {'\['}    <os$mod>    braces    "TeX"
  251.     eval $func    {'\['}    <co$mod>    bigBrackets    "TeX"
  252.     eval $func    {'\['}    <cso$mod>    bigBraces    "TeX"
  253.     
  254.     eval $func    {'\]'}    <oz$mod>    scriptstyle    "TeX"
  255.     eval $func    {'\]'}    <o$mod>    displaystyle    "TeX"
  256.     eval $func    {'\]'}    <os$mod>    textstyle    "TeX"
  257.     eval $func    {'\]'}    <co$mod>    scriptscriptstyle    "TeX"
  258.     eval $func    {'\]'}    <cso$mod>    bigLeftBrace    "TeX"
  259.     
  260.     eval $func    {'\\'}    <oz$mod>    setMinus    "TeX"
  261.     eval $func    {'\\'}    <o$mod>    backslash    "TeX"
  262.     eval $func    {'\\'}    <os$mod>    absoluteValue    "TeX"
  263.     eval $func    {'\\'}    <co$mod>    bigAbsoluteValue    "TeX"
  264.     eval $func    {'\\'}    <cs$mod>    "oneParameter"    "TeX"
  265.     eval $func    {'\\'}    <cso$mod>    "twoParameters"    "TeX"
  266.     
  267.     eval $func    '`'    <co$mod>    grave    "TeX"
  268.     eval $func    '`'    <cso$mod>    tilde    "TeX"
  269.         
  270.     if {$TeXmodeVars(useDollarSigns)} then {
  271.         eval $func    '4'    <co$mod>    texMath    "TeX"
  272.         eval $func    '4'    <cso$mod>    texDisplaymath    "TeX"
  273.     } else {
  274.         eval $func    '4'    <co$mod>    latexMath    "TeX"
  275.         eval $func    '4'    <cso$mod>    latexDisplaymath    "TeX"
  276.     }
  277.     
  278.     eval $func    '5'    <o$mod>    infty    "TeX"
  279.     
  280.     eval $func    '6'    <o$mod>    sectionMark    "TeX"
  281.     eval $func    '6'    <co$mod>    superscript    "TeX"
  282.     
  283.     eval $func    '7'    <o$mod>    paragraphMark    "TeX"
  284.     
  285.     eval $func    '8'    <oz$mod>    cdot    "TeX"
  286.     eval $func    '8'    <os$mod>    ast    "TeX"
  287.     eval $func    '8'    <co$mod>    bullet    "TeX"
  288.     
  289.     eval $func    '9'    <os$mod>    parentheses    "TeX"
  290.     eval $func    '9'    <co$mod>    bigParentheses    "TeX"
  291.     
  292.     eval $func    '0'    <oz$mod>    emptyset    "TeX"
  293.     
  294.     eval $func    '-'    <oz$mod>    neg    "TeX"
  295.     eval $func    '-'    <o$mod>    sim    "TeX"
  296.     eval $func    '-'    <os$mod>    mp    "TeX"
  297.     eval $func    '-'    <co$mod>    subscript    "TeX"
  298.     
  299.     eval $func    '='    <oz$mod>    approx    "TeX"
  300.     eval $func    '='    <o$mod>    neq    "TeX"
  301.     eval $func    '='    <os$mod>    pm    "TeX"
  302.     eval $func    '='    <co$mod>    bar    "TeX"
  303.     
  304.     eval $func    F5    <oz$mod>    equation    "TeX"
  305.     eval $func    F5    <o$mod>    math    "TeX"
  306.     eval $func    F5    <os$mod>    displaymath    "TeX"
  307.     
  308.     eval $func    F6    <oz$mod>    eqnarray    "TeX"
  309.     eval $func    F6    <o$mod>    myArray    "TeX"
  310.     eval $func    F6    <os$mod>    eqnarrayStar    "TeX"
  311.     
  312.     eval $func    F7    <oz$mod>    description    "TeX"
  313.     eval $func    F7    <o$mod>    enumerate    "TeX"
  314.     eval $func    F7    <os$mod>    itemize    "TeX"
  315.     eval $func    F7    <co$mod>    thebibliography    "TeX"
  316.     
  317.     eval $func    F8    <oz$mod>    note    "TeX"
  318.     eval $func    F8    <o$mod>    slide    "TeX"
  319.     eval $func    F8    <os$mod>    overlay    "TeX"
  320.     
  321.     eval $func    F9    <oz$mod>    tabular    "TeX"
  322.     eval $func    F9    <o$mod>    figure    "TeX"
  323.     eval $func    F9    <os$mod>    table    "TeX"
  324.     
  325.     eval $func    F10    <oz$mod>    quotation    "TeX"
  326.     eval $func    F10    <o$mod>    verbatim    "TeX"
  327.     eval $func    F10    <os$mod>    quote    "TeX"
  328.     eval $func    F10    <co$mod>    verse    "TeX"
  329.     
  330.     eval $func    F11    <oz$mod>    flushright    "TeX"
  331.     eval $func    F11    <o$mod>    flushleft    "TeX"
  332.     eval $func    F11    <os$mod>    center    "TeX"
  333.     
  334.     eval $func    F12    <o$mod>    general    "TeX"
  335.     
  336. }
  337.  
  338.